package com.thinkit.bigdata.web.model.tag;

import java.util.Date;

public class TagAudio {
    /**
     * 主键，唯一
     */
    private String id;

    /**
     * 主键，语音流水（防止二次重标）
     */
    private String serialnumber;

    /**
     * 语音地址，相对地址
     */
    private String filepath;

    /**
     * 文件名称，导入时文件名称
     */
    private String filename;

    /**
     * 文件时长，单位秒，默认0
     */
    private Double duration;

    /**
     * 标注有效语音时长，所有非快捷标注的语音片段，单位秒，默认0
     */
    private Double validduration;

    /**
     * 导入人工号（谁导入的，记录工号）
     */
    private String storerid;

    /**
     * 入库时间，音频信息导入时间，默认当前时间
     */
    private Date inputtime;

    /**
     * 状态，用来标识任务整个生命周期的阶段状态
     * 1.待标注（默认）
     * 2.标注中
     * 3.标注完成
     * 4.提交审核
     * 5.待审核
     * 6.审核中
     * 7.标记审核退回
     * 8.标记审核通过
     * 9.审核退回
     * 10.审核通过
     * 11.标记删除
     * 12.初步语料
     * 13.语料待审
     * 14.语料审核中
     * 15.语料标记打回
     * 16.语料标记通过
     * 17.语料打回
     * 18.语料审核通过
     * 19.引擎已使用
     */
    private Integer state;

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id == null ? null : id.trim();
    }

    public String getSerialnumber() {
        return serialnumber;
    }

    public void setSerialnumber(String serialnumber) {
        this.serialnumber = serialnumber == null ? null : serialnumber.trim();
    }

    public String getFilepath() {
        return filepath;
    }

    public void setFilepath(String filepath) {
        this.filepath = filepath == null ? null : filepath.trim();
    }

    public String getFilename() {
        return filename;
    }

    public void setFilename(String filename) {
        this.filename = filename == null ? null : filename.trim();
    }

    public Double getDuration() {
        return duration;
    }

    public void setDuration(Double duration) {
        this.duration = duration;
    }

    public Double getValidduration() {
        return validduration;
    }

    public void setValidduration(Double validduration) {
        this.validduration = validduration;
    }

    public String getStorerid() {
        return storerid;
    }

    public void setStorerid(String storerid) {
        this.storerid = storerid == null ? null : storerid.trim();
    }

    public Date getInputtime() {
        return inputtime;
    }

    public void setInputtime(Date inputtime) {
        this.inputtime = inputtime;
    }

    public Integer getState() {
        return state;
    }

    public void setState(Integer state) {
        this.state = state;
    }

    // ======================= 常量 ========================
    /**
     * 状态-待标注（默认）
     */
    public static final Integer STATUS_TAG_WAIT = 1;

    /**
     * 状态-标注中
     */
    public static final Integer STATUS_TAG_ONGOING = 2;

    /**
     * 状态-标注完成
     */
    public static final Integer STATUS_TAG_FINISH = 3;

    /**
     * 状态-提交审核
     */
    public static final Integer STATUS_TAG_COMMIT = 4;

    /**
     * 状态-待审核
     */
    public static final Integer STATUS_AUDIT_WAIT = 5;

    /**
     * 状态-审核中
     */
    public static final Integer STATUS_AUDIT_ONGOING = 6;

    /**
     * 状态-标记审核退回
     */
    public static final Integer STATUS_AUDIT_SIGN_BACK = 7;

    /**
     * 状态-标记审核通过
     */
    public static final Integer STATUS_AUDIT_SIGN_PASS = 8;

    /**
     * 状态-审核退回
     */
    public static final Integer STATUS_AUDIT_BACK = 9;

    /**
     * 状态-审核通过
     */
    public static final Integer STATUS_AUDIT_PASS = 10;

    /**
     * 状态-标记删除
     */
    public static final Integer STATUS_DELETE_SIGN = 11;

    /**
     * 状态-初步语料
     */
    public static final Integer STATUS_CORPUS_INIT = 12;

    /**
     * 状态-语料待审
     */
    public static final Integer STATUS_CORPUS_AUDIT_WAIT = 13;

    /**
     * 状态-语料审核中
     */
    public static final Integer STATUS_CORPUS_AUDIT_ONGOING = 14;

    /**
     * 状态-语料标记打回
     */
    public static final Integer STATUS_CORPUS_AUDIT_SIGN_BACK = 15;

    /**
     * 状态-语料标记通过
     */
    public static final Integer STATUS_CORPUS_AUDIT_SIGN_PASS = 16;

    /**
     * 状态-语料打回
     */
    public static final Integer STATUS_CORPUS_AUDIT_BACK = 17;

    /**
     * 状态-语料审核通过
     */
    public static final Integer STATUS_CORPUS_AUDIT_PASS = 18;

    /**
     * 状态-引擎已使用
     */
    public static final Integer STATUS_ENGINE_USE = 19;
}